package it.dija.burraco;

import java.io.Serializable;
import java.util.LinkedList;

public class Giocatore implements Serializable {
	

	/**
	 * 
	 */
	private static final long serialVersionUID = 6828342289670883070L;
	
	
	public enum Sesso { SessoMaschile, SessoFemminile }
	
	public static final char SessoMaschile = 'M';
	public static final char SessoFemminile = 'F';
	
	
	private String nome;
	private String cognome;
	private Sesso sesso;
	private String telefono;
	private int numMatr;
	private Giocatore compagno;
	private LinkedList<Giocatore> listaCompagni = new LinkedList<Giocatore>();
	private LinkedList<Giocatore> listaAvversari = new LinkedList<Giocatore>();
	
	
	
	
	public Giocatore(String cognome, String nome, Sesso sesso) {
		this.cognome = cognome;
		this.nome = nome;	
		this.sesso = sesso;
	}
	
	public Giocatore(String cognome, String nome, int matr, Giocatore compagno) {
		this.cognome = cognome;
		this.nome = nome;
		this.numMatr = matr;
		this.compagno = compagno;
		
	}
	
	public void aggiungiAiCompagni(Giocatore g) {
		listaCompagni.add(g);
	}
	
	public void clearListaCompagni() {
		listaCompagni.clear();		
	}
	
	public void clearListaAvversari() {
		listaAvversari.clear();		
	}
	
	
	public int giocaAssiemeVolte(Giocatore g) {
		int volte = 0;
		for (int i = 0; i<listaCompagni.size(); i++) {
			if (g == listaCompagni.get(i)) volte++;
		}
		return volte;
	}
	
	public void aggiungiAvversari(Giocatore g) {
		listaAvversari.add(g);
	}
	public int giocaControVolte(Giocatore g) {
		int volte = 0;
		for (int i = 0; i<listaAvversari.size(); i++) {
			if (g == listaAvversari.get(i)) volte++;
		}
		return volte;
	}
	
	public String getFullName() {
		return nome+" "+cognome;
	}
	
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getNome() {
		return this.nome;
	}
	
		public void setCognome(String cognome) {
		this.cognome = cognome;
	}
	public String getCognome() {
		return this.cognome;
	}
	
	public void setNumMatr(int numMatr) {
		this.numMatr = numMatr;
	}
	public int getNumMatr() {
		return this.numMatr;
	}
	
	public void setCompagno(Giocatore compagno) {
		this.compagno = compagno;
	}
	
	public Giocatore getCompagno() {
		return compagno;
	}
	
	
	public void setSesso(Sesso sesso) {
		this.sesso = sesso;
	}
	public Sesso getSesso() {
		return this.sesso;
	}
	
	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}
	public String getTelefono() {
		return this.telefono;
	}
	
	
	public void stampaCompagni() {
		System.out.print("Compagni:");
		for (int i=0; i<listaCompagni.size(); i++) {
			System.out.print(" "+listaCompagni.get(i).getFullName());
		}
		//System.out.println();
	}
	public void stampaAvversari() {
		System.out.print("Avversari:");
		for (int i=0; i<listaAvversari.size(); i++) {
			System.out.print(" "+listaAvversari.get(i).getFullName());
		}
		//System.out.println();
	}
	public void stampaCompagniAvversari() {
		System.out.print(this.getFullName());
		stampaCompagni();
		stampaAvversari();
		System.out.println();
	}
	
	
}


